#include "mytest.h"
#include "ui_mytest.h"
#include <QDebug>
#include <QHash>
#include <QList>
#include <QVariant>
#include <QColor>

MyTest::MyTest(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MyTest)
{
    ui->setupUi(this);

    //    QMap<int, int> m;
    //    m.insert(1, 1);
    //    m.insert(6, 5);
    //    m.insert(4, 2);

    //    //map的迭代器访问
    //    auto it = m.begin();
    //    while(it != m.end())
    //    {
    //        qDebug() << it.key() << " " << it.value() << " ";
    //        it++;
    //    }

    //    //查询在不在
    //    qDebug() << m.contains(1);
    //    qDebug() << m.contains(10);


    //    QList<int> list1 = m.keys();
    //    qDebug() << list1;

    //    QList<int> list2 = m.values();
    //    qDebug() << list2;


//        QMultiMap<char, int> m;
//        m.insert('a', 1);
//        m.insert('b', 2);
//        m.insert('b', 3);
//        m.insert('c', 4);

//        auto it = m.begin();
//        while(it != m.end())
//        {
//            qDebug() << it.key() << " " << it.value();
//            it++;
//        }



        //qHash是无序存放的
//        QHash<int, int> qhash;
//        qhash[1] = 100;
//        qhash[8] = 200;
//        qhash[5] = 300;
//        qhash[4] = 400;

//        auto it = qhash.begin();
//        while(it != qhash.end())
//        {
//            qDebug() << it.key() << " " << it.value();
//            it++;
//        }


          //QList 存放空间是连续的，并且支持下标访问呢（通过at函数）
//          QList<int> list1;
//          list1.push_back(10);
//          list1.push_back(9);
//          list1.push_back(9);
//          list1.push_back(5);

//          for(int i = 0; i < list1.size(); i++)
//              qDebug() << list1.at(i);
          //QLinkedList 存储元素不连续,只能通过迭代器去访问


//          QVariant var(300);
//          qDebug() << var << "--" << var.toInt();

//          QVariant var1("xiaochentongxue");
//          qDebug() << var1 << "--" << var1.toString();

//          QMap<QString, QVariant> qmap;
//          qmap["111"] = 10;
//          qmap["222"] = "chenlang";
//          qmap["333"] = 99.8;
//          qmap["444"] = QColor(255, 255, 0);

//          qDebug() << qmap["111"] << "---" << qmap["111"].toInt();
//          qDebug() << qmap["222"] << "---" << qmap["222"].toString();
//          qDebug() << qmap["333"] << "---" << qmap["333"].toDouble();
//          qDebug() << qmap["444"] << "---" << qmap["444"].value<QColor>();

}

MyTest::~MyTest()
{
    delete ui;
}

